package cn.kgc.student.dao;

import cn.kgc.student.pojo.Student;
import cn.kgc.student.vo.StudentParam;
import java.util.*;
import cn.kgc.student.utils.Page;
import java.io.Serializable;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 描述：学生 数据库访问层接口
* @author 魏耀
* @date 2019/07/22
*/
@Mapper
public interface StudentMapper {

    /**
    * 描述：根据Id获取Student对象
    * @param id
    */
    Student findById(Serializable id);
    
    /**
    * 描述：获取所有的Student对象
    */
    List<Student> findAll();

	/**
    * 描述：新增保存Student对象
    */
    int save(Student student);

	/**
    * 描述：根据Id删除Student对象
    * @param id
    */
    int delete(Serializable id);
	
	/**
    * 描述：更新Student对象
    */
    int update(Student student);
    
    /**
     * 根据不确定的条件，动态查询
     */
    List<Student> query(StudentParam param);
    
    /**
     * 根据不确定的条件，查询总行数
     */
    int getCount(StudentParam param);
    
    /**
     * 获得表中数据的总行数
     */
    int getTotalCount();
}
